<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,user-scalable=no,minimal-ui">
    <title>菩提阁</title>
    <link rel="icon" href="./../images/favico.ico">
    <!--element-ui的样式-->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <!-- 引入样式  -->
    <link rel="stylesheet" href="../styles/index.css" />
    <!--引入vant样式-->
    <link rel="stylesheet" href="../styles/vant.min.css"/>
    <!--本页面内容的样式-->
    <link rel="stylesheet" href="./../styles/user.css" />
</head>
<body>
<div id="user" class="app">
    <div class="divHead">
        <div class="divTitle">
            <i class="el-icon-arrow-left" @click="goBack"></i>个人中心
        </div>
        <div class="divUser">
            <img src="./../images/headPage.png"/>
            <div class="desc">
                <div class="divName">{{userName}} <img src="./../images/women.png"/></div>
                <div class="divPhone">{{userPhone}}</div>
            </div>
        </div>
    </div>
    <div class="divContent">
        <div class="divLinks">
            <div class="item" @click="toAddressPage">
                <img src="./../images/locations.png"/>
                <span>地址管理</span>
                <i class="el-icon-arrow-right"></i>
            </div>
            <div class="divSplit"></div>
            <div class="item" @click="toOrderPage">
                <img src="./../images/orders.png"/>
                <span>历史订单</span>
                <i class="el-icon-arrow-right"></i>
            </div>
        </div>
        <div class="divOrders" v-if="order[0]">
            <div class="title">最新订单</div>
            <div class="timeStatus">
                <span>{{order[0].orderTime}}</span>
                <span>{{getStatus(order[0].status)}}</span>
                <!-- <span>正在派送</span> -->
            </div>
            <div class="dishList">
                <div v-for="(item,index) in order[0].orderDetails" :key="index" class="item">
                    <span>{{item.name}}</span>
                    <span>x{{item.number}}</span>
                </div>
            </div>
            <div class="result">
                <span>共{{order[0].sumNum}} 件商品,实付</span>
                <span class="price">￥{{order[0].amount}}</span>
            </div>
            <div class="btn" v-if="order[0].status === 4">
                <div class="btnAgain" @click="addOrderAgain">再来一单</div>
            </div>
        </div>
        <div class="quitLogin" @click="toPageLogin">
            退出登录
        </div>
    </div>
</div>
<!-- 开发环境版本，包含了有帮助的命令行警告 -->
<script src="../js/vue.js"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<!-- 引入vant组件 -->
<script src="./../js/vant.min.js"></script>
<!--不同屏幕尺寸根字体设置-->
<script src="./../js/base.js"></script>
<!-- 引入axios -->
<script src="../js/axios.min.js"></script>
<script src="../js/js.cookie.js"></script>
<script src="../js/request.js"></script>
<script src="../api/order.js"></script>
<script src="../api/login.js"></script>
<script>
    new Vue({
        el:"#user",
        data(){
            return {
                form:{
                    phone:'',
                    code:''
                },
                //当前登录的用昵称
                userName: undefined,
                //当前登录用户电话
                userPhone: undefined,

                msgFlag:false,
                order:[{
                    orderTime:'',//下单时间
                    status:undefined,//订单状态 1已结账，2未结账，3已退单，4已完成，5已取消
                    orderDetails:[{
                        name:'',//菜品名称
                        number:undefined,//数量
                    }],//明细
                    amount:undefined,//实收金额
                    sumNum:0,//菜品总数
                }],
            }
        },
        computed:{},
        created(){
            //获取用户信息
            userinfoApi().then(resp=> {
                //存储用户信息到 cookie中
                Cookies.set('userId', resp.data.id)
                Cookies.set('userName', resp.data.userName)
                Cookies.set('portrait', resp.data.portrait)
                this.userName= resp.data.userName
                this.userPhone = resp.data.loginid
                //初始化用户信息
                this.initData()

            }).catch(e=> {
                this.$notify({ type:'warning', message:e});
                //移出令牌
                Cookies.remove('template_token')
                Cookies.remove('userId')
                Cookies.remove('userName')
                Cookies.remove('portrait')

                // 用户信息获取失败,回到登录页面
                window.requestAnimationFrame(()=>{
                    window.location.href= '/page/login.html'
                })
            })

        },
        mounted(){},
        methods:{
            goBack(){
                // 回到首页
                window.requestAnimationFrame(()=>{
                    window.location.href = '/index.html'
                })
            },
            toAddressPage(){
                window.requestAnimationFrame(()=>{
                    window.location.href = '/page/address.html'
                })
            },
            toOrderPage(){
                window.requestAnimationFrame(()=>{
                    window.location.href = '/page/order.html'
                })
            },
            initData(){
                this.getLatestOrder()
            },
            async getLatestOrder(){
                const params = {
                    page:1,
                    size:1
                }
                const res = await orderPagingApi(params)
                if(res.code === 200){
                    this.order = res.data
                    console.log(this.order)
                    if(this.order && this.order.length>0 && this.order[0].orderDetails){
                        let number = 0
                        this.order[0].orderDetails.forEach(item=>{
                            number += item.number
                        })
                        this.order[0].sumNum = number
                    }
                }else{
                    this.$notify({ type:'warning', message:res.msg});
                }
            },
            getStatus(status){
                let str = ''
                switch(status){
                    case 1:
                        str =  '待付款'
                        break;
                    case 2:
                        str =  '正在派送'
                        break;
                    case 3:
                        str =  '已派送'
                        break;
                    case 4:
                        str =  '已完成'
                        break;
                    case 5:
                        str =  '已取消'
                        break;

                }
                return str
            },
            async addOrderAgain(){
                const res = await orderAgainApi({id:this.order[0].id})
                if(res.code === 1){
                    window.requestAnimationFrame(()=>{
                        window.location.href = '/index.html'
                    })
                }else{
                    this.$notify({ type:'warning', message:res.msg});
                }
            },
            async toPageLogin(){
                const res = await loginoutApi()
                if(res.code === 200){
                    //移出令牌
                    Cookies.remove('template_token')
                    Cookies.remove('userId')
                    Cookies.remove('userName')
                    Cookies.remove('portrait')

                    window.requestAnimationFrame(()=>{
                        window.location.href = '/page/login.html'
                    })
                }else{
                    this.$notify({ type:'warning', message:res.msg});
                }
            }
        }
    })
</script>
</body>
</html>